home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2004 #9 / Amiga Plus CD - 2004 - No. 09.iso / amigaplus / tools / amigaos4_only / ifxlite / imagefx3 / rexx / autofx / savebufferas_jpeg.ifx < prev    next >
Text File  |  2004-08-03  |  1KB  |  59 lines

  1. /*
  2.  * $VER: SaveBufferAs_JPEG.ifx 2.5 (27.02.96)
  3.  * Copyright © 1992-1996 Nova Design, Inc.
  4.  * Written by Thomas Krehbiel
  5.  *
  6.  * Save main buffer as JPEG.
  7.  *
  8.  * Inputs:
  9.  *    Word(Arg(1),1) = Frame number (1 - N)
  10.  *    Word(Arg(1),2) = Main filename ("-" if not specified)
  11.  *    Word(Arg(1),3) = Swap filename ("-" if not specified)
  12.  *    Word(Arg(1),4) = Sequence number (?)
  13.  *    Word(Arg(1),5) = Total number of frames (N)
  14.  *
  15.  * Returns:
  16.  *    0 if successful, non-zero on failure
  17.  *
  18.  */
  19.  
  20. OPTIONS RESULTS
  21.  
  22. framenum = Word(Arg(1),1)
  23. mainname = Word(Arg(1),2)
  24. swapname = Word(Arg(1),3)
  25. seq      = Word(Arg(1),4)
  26. framemax = Word(Arg(1),5)
  27.  
  28. base = 'Autofx_SaveBufferAsJPEG_'
  29.  
  30. path = GETCLIP(base||'Path'||seq)
  31. ext  = GETCLIP(base||'Ext'||seq)
  32. qual = GETCLIP(base||'Quality'||seq)
  33.  
  34. /* gracefully exit if no buffer */
  35. GetMain
  36. IF rc ~= 0 THEN EXIT 0
  37.  
  38. i = POS('*', ext)
  39. IF i > 0 THEN ext = LEFT(ext,i-1) || RIGHT('00000'||framenum,5) || SUBSTR(ext,i+1)
  40.  
  41. outfile = mainname||ext
  42. IF path ~= "" THEN DO
  43.  
  44.    i = LASTPOS('/',mainname)
  45.    IF i = 0 THEN i = LASTPOS(':',mainname)
  46.  
  47.    IF i = 0 THEN
  48.       file = mainname
  49.    ELSE
  50.       file = SUBSTR(mainname,i+1)
  51.  
  52.    IF RIGHT(path,1) ~= ':' THEN path = path||'/'
  53.    outfile = path||file||ext
  54.  
  55.    END
  56.  
  57. SaveBufferAs JPEG '"'outfile'"' qual
  58. EXIT rc
  59.